This is an increasingly less 'quick and dirty' program to do drag and drop conversion to and from Windoze sound files and Mac sound files.
Although the functionality of the program has been extended from the original design, overall it still basically does the same thing, that is to convert sounds between Mac and Windoze formats.
If you open a non-Macintosh file with it, it will convert it to a Macintosh file, and
If you open a Macintosh file with it, it will convert it to a Windoze file.
The output options are fairly limited (more on this later). As a matter of religous dogma, the program doesn't mess with the content of the sound file being converted.
For input however, a Macintosh file is: a system 7 sound file, an FSSD file (with or without HCOM compression), or virtually any file containing 'snd ' resources such as the system file, many applications, Sound Mover suitcases, MacCD files, and many others. Any file that doesn't fit into this description of a Mac sound or look like one of the supported non-Mac sounds is assumed to be a Mac sound with an unknown header. A dialog gives you a Swiss army knife of options on how to interpret the file. You can even play text files if you want to. A warning however, I spent an afternoon doing this and learnt nothing to my benefit.
Non-Macintosh input files can be .WAV files, Sound blaster .VOC files, Sun(/NeXT) ╡-Law (provided they are 8 bit mono), Amiga 8SVX, and AIFF files (I know these are an Apple standard but I figured that 1: I'd be more likely to get one from a Silicon Graphics Machine, and 2: its only a two step process (open it twice) to make one into a Windoze file).
Macintosh sound files are a bit varied with system 6. The system 7 format is as much use as tits on a bull to a system 6 user so in a great act of benevolence I decided to do something nice for system 6 users. I figured that in the spirit of things I should produce either FSSD files for use by sound master, or sound mover suitcases. Since I abuse things a bit by just using whatever sample rate is input, the fixed rates of FSSD isn't much use (e.g. it couldn't handle 8000 samples per second, which Suns love so I would have to do some resampling and that seems just to much like hard work). A single sound, sound mover suitcase however is identical to a system 7 sound with the creator/type changed. Needless to say I took the easy way out. The sound mover package was on the usual archives last time I looked and is a font/DA mover work-alike for sounds.
Brian's Sound tool doesn't do anything as crass as look at file name extensions to work out what sort of file its dealing with, instead it looks at the creator/type to work out a few basic types (FSSD files and ULAW files) and then looks inside to work the rest of them out.
The program handles the core Apple Events (almost - print is a non-event!) which means you can work it nicely off the end of Fetch using an automatic post processing mapping for .WAV, .VOC, and .au. If you really want to get carried away, set the creator to 'BSnd' and the type to 'bin ' (Apple file exchange produces 'bin ' files if you use the default transfer mode so I thought I'd be consistant with that) to get some not entirely ugly ICONs.
If you set the type to 'ULAW' or 'AIFF' (and creator to 'BSnd') the resulting ICONs like like mail sound messages. More on this presently.
There is nothing to be gained by pressing 'magic' keys while opening a file. I might do something with them one day (like force 'headerless' processing, inquire on specific output options and formats, make a silly noise or two, or something like that).
Brian's Sound tool is a memory based program. If you have a very big sound file, set the memory size of the program to about 100k bigger. If you dont have enough memory to do that then odds are the sound wont be much use to you anyway, either way I can't help much. The program should be 32 bit clean and virtual memory friendly so for someone with the right machine the limit would be just short of 4Gb. Thats not me so don't send me your very large sounds. If the program bombs with a 'not enough memory' error and it is clearly larger than the file being converted, either the sound file has a corrupted internal size field or my program has a bug. I prefer the first theory.
Working with Mail
----------------
I use Eudora for all my mail work on the Mac (great program). In recent times I haven't done any playing with other mail packages but I imagine that a lot of these comments will apply if you know what you're doing.
If you are a brave soul that enjoys a good game of resedit, you can customise the EuIM resource in Eudora to set the creator and type of files received as MIME file enclosures. There is already a mapping for audio/basic enclosures to make a file type of ULAW for the ulaw play program. You can either leave that as is (it can do arbitarily large files which my program can't) or you can change the creator to 'BSnd' to make it a double-clickable document for Brian's Sound tool. Either way, if the file type is ULAW the file will be automatically interpreted as a headerless, 8000 samples per second, mono, ╡-law encoded sound if the contents don't make sense as some other file type. If you set up a mapping for audio/x-aiff to BSnd/AIFF you can handle sounds mailed to you from a Silicon Graphics machine.
Eudora can't automatically call Brian's Sound tool when sound enclosures arrive (and its questionable if you would want it to anyway).
Naturally, if you go playing inside Eudora with resedit, its you that did it not me. I take no responsibility for you stuffing it up.
New bits
--------
This version (1.3) adds a few things that people asked for and/or I felt like doing. Most noticable is that it now handles 16 bit and stereo sounds. Actually, it should theoretically handle arbitary sample sizes and numbers of channels. I can't actually say that I've tested any of that though so take it as a pleasant surprise when it does. Infact share you surprise if it does and e-mail me :-).
If you are converting a stereo and/or 16 bit sound, you can elect to have it downsampled to mono and/or 8 bit to make it usefull on more Macs. 16 bit and stereo sounds go down very badly on Macs without the right hardware or software. 8 Bit sounds take up a lot less space.
The program also displays a dialog while its playing a sound to tell you what it is.
Cmd-. while playing a long (or short for that matter) sound works unless the sound manager wont let me.
Format 2 'snd ' resources are now handled. You would be surprised how many of these are still floating arround.
Arbitary resource files. If there are 'snd ' resources in there, I'll get them out alive. The option for deleting file on conversion is disabled if there are non sound resources in the file or if any of the sounds couldn't be converted.
The Mac file name is saved in the .WAV or .VOC file. If you then use Brian's Sound tool to convert the sounds back, it uses that as a prefered name for the output sound file. This should help remove problems with destroyed names for people who really wanted to convert between Mac file types. Sorry but that stays a two step process.
Bugs fixed
----------
More bugs than you could poke a stick at. Included is a fix for a problem with the 'same folder as input' option. Also, a lot of very strange behaviour when presented with stereo or 16 bit sounds has been fixed. I also got a lot more forgiving of strange VOC files (broken into many sound chunks), .au files that don't have file sizes in the header, and WAV files with bad sizes in the header (some of which were caused by a beta version of 1.3 - sorry folks). Under some circumstances, a conversion from signed to unsigned values went of the end of the buffer and caused some of the most hard to track problems you could imagine.
Still to come
------------
Somewhere between nothing, to adding (in no particular order):
Sound input (maybe - I'm not promising anything),
Better interworking with other programs, such as mail programs for reading and writing sound enclosures, or audio programs to provide a mechanism to import from strange format sounds,
A scroll bar in the about box (since its getting too big)
Unlikely to ever happen
---------------------
I don't intend making the program into a convert any format to any other format with resampling and other effects thrown in. There's a perfectly good program in the Un*x and DOS world called SOX which does that quite nicely (its a bit weak on the Mac side of things - only likes HCOM compress FSSD files in Mac Binary format - but then that could be fixed easily enough). Rather I have directed my attention to making a Macintosh style program that understands things like resource forks, standard file dialogs, Apple events, and so forth. If you could put up with a REALLY grotty interface, you could probably compile SOX with Think C and its console stuff to produce a clumsy but very versatile program.
The bit at the bottom everyone ignores
-----------------------------------
The most important thing about 'Brian's Sound Tool' is:
DON'T SEND ANY MONEY FOR IT
I've been grabbing usefull things off the net for years so lets call this my first installment in returning the favour.
If you want to, and you live in some wild far away exotic place ( > 20k from Boronia!), feel free to send me a postcard saying that the program is rubbish (or otherwise). I enjoy getting e-mail about the program, and don't mind getting the occasional sound file the program has thrown up over. I can't promise that I will do anything about fixing anything you send me but everything I have been sent in the past can be handled correctly by this version of the program. Try to keep the size of sounds down because no one wants to buy me a bigger disk.
If you review this program in a magazine, e-mail me with the details so I can buy copies for all my friends. (Ego? Who's got an ego?)
If you have already asked me if you can put the previous version of the program on 'shareware' disks or CDs and I said yes, then that extends to this version. If I didn't say yes then it means my reply is lost in the post but I meant to say yes :-). In fact anyone that asks is likely to be told yes, however I would appreciate being asked. The only thing I will say no to is charging money for the program (you can charge for the media) or removing my name from the 'about' dialog.
I'm not particulary likely to give out copies of the source of this program. I'm still trying to compose nice replies to a few people who have asked. Basically, if I did I believe I would loose control of derivative works, and things like this version of the program couldn't happen. I would also have to remove all the unsavoury language from the comments in the bits where I'm dealing with DOS machines. I would prefer to explore the possibility of extending the program into a sound conversion engine that other programs could call when needed. Any thoughts?